package com.ry.bhwktapp.home.ui
// TODO  内置函数apply的使用
fun main() {
    val str = "Derror is ok"
    println("第一个字母是：${str.length}")
    println("最后一个字母是：${str[str.length-1]}")
    println("大小写字母是：${str.toLowerCase()}")


    //内置函数apply 内置函数的特点：会一直返回str本身，而不是it一样的char  默认持有一个this 而不是it
    val apply = str.apply {
        println("长度是：${this.length}")
        println("最后一个字母是：${this[this.length - 1]}")
        println("大小写字母是：${this.toLowerCase()}")

//       this.还可以省略
        println("长度是：${length}")
        println("最后一个字母是：${this[length - 1]}")
        println("大小写字母是：${toLowerCase()}")
    }
    println("sjjsjsjs $apply")


    //内置函数apply内置函数真实的用法如下： 主要用于链式调用
    str.apply {
        println(this)//"Derror is ok"
        toLowerCase()
    }.apply {
        println(this)//"Derror is ok" 因为一直返回的是本身，所以不会变成小写
    }.apply {
        println("最后一个字母是：${this[length - 1]}")
    }

}

